// 语法： 变量声明：类型 = 值

// 布尔
const bool: boolean = true;
const bool1: boolean = false;

// 数子
const num1: number = 1;
const num2: number = 1231231;

// 字符串
const str1: string = "1231";
const str2: string = "1231";
const str3: string = `1231`;

// 数组
const arr1: number[] = [1, 2, 3, 4];
const arr2: boolean[] = [true, false];
/**  泛型 ****/
const arr3: Array<string> = ["1", "2", "3"];

// 元组
const tup1: [number, boolean] = [1, true];
const tup2: [number, Function] = [1, () => {}];

// 枚举
enum Color {
  Red,
  Yellow,
  Green,
}

// any: 任意类型

// Void:  当一个函数没有返回值时，你通常会见到其返回值类型是 void：

// Null 和 Undefined
// 1. 值和类型是一样的
// 2. 默认情况下null和undefined是所有类型的子类型。 就是说你可以把 null和undefined赋值给number类型的变量。
const n: null = null;
const s: undefined = undefined;

// tsconfig.json 配置  strictNullChecks: false
const result: number = null;

// Never： never类型表示的是那些永不存在的值的类型。

// function add(): never {
// 	while(true) {

// 	}
// }
